<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 私有成员 私有属性和私有方法；
        // 私有成员的修饰符 # 
        // 私有成员 ： 只能类的内部调用 ，子类 和外部都不能调用
        class Person {
            #age = '45'; // 私有属性
            weight = '100kg'
            constructor(name) { // 公有成员
                this.name = name;
            }
            // 利用公有方法调用私有成员 
            getAge(){  // 公有方法,调取私有属性 和私有方法
                console.log("年龄是?",this.#age);
                this.#fun();
            }
            #fun() {
                console.log('私有方法');
            }

        }
        let p1 = new Person('王俊凯');
        p1.getAge();
        console.log(p1);
        console.log(p1.weight);  //100kg
        // console.log(p1.#fun());//书写的时候就会报错
        // console.log(p1.#age); //书写的时候就会报错

        // function Person(name,age){
        //     this.name = name;
        //     this.age = age;
        //     this.fn = function(){
        //         console.log(this.name);
        //     }
        // }
        // let p1 = Person('张三',age);
        // p1.fn();
        // console.log(p1);
    </script>
</body>
</html>